package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 变量寄存器配置对象 qstag
 * 
 * @author yaozh
 * @date 2024-02-24
 */
public class Qstag extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 点表唯一ID，主键，自动递增 */
    @Excel(name = "点表唯一ID")
    private Long tagid;

    /** 寄存器名称，变量名。值通常不涉及到中文 */
    @Excel(name = "寄存器名称")
    private String tagname;

    /** 寄存器名称或变量名的中文含义 */
    @Excel(name = "寄存器中文含义")
    private String tagnameCN;

    /** 寄存器名称或变量名的英文含义 */
    @Excel(name = "寄存器英文含义")
    private String tagnameEN;
    private String tagnameCNEN;

    /** 所属设备类型代码 */
    @Excel(name = "所属设备类型代码，如CHP、CH、CWP、CT")
    private String drTypeCode;

    /** 寄存器值，变量值，采集值，点位值 */
    @Excel(name = "寄存器值")
    private String tagvalue;

    /** 值类型：1、离散型(Bool)，2、长整型(DINT)，3、模拟型(Int)，4、字符型(WORD)，5、浮点型(Real)，6、64位浮点型(LReal)，7、32位无符号整型(DWORD)） */
    @Excel(name = "值类型：1、离散型(Bool)，2、长整型(DINT)，3、模拟型(Int)，4、字符型(WORD)，5、浮点型(Real)，6、64位浮点型(LReal)，7、32位无符号整型(DWORD)）")
    private Long valuetype;

    @Excel(name = "是否当布尔变量处理，0否，1是")
    private Long boolType;//0否，1是

    /** 通讯驱动设备ID（参考dlldrinfo表的drid），对应的接口ID，所属设备编号，驱动编号，所属的驱动的驱动id */
    @Excel(name = "网关接口ID，参考dlldrinfo表的drid")
    private Long itemdrid;
    @Excel(name = "网关接口名称")
    private String itemDrIdName;

    /** 寄存器类型（设备下寄存器类型（参考drlltype），功能号，点表对应的寄存器类型1，2，3，4，5，6） */
    @Excel(name = "寄存器类型")
    private String itemtype;

    /** 寄存器地址（通讯变量寄存器地址），有几种配置格式， */
    @Excel(name = "寄存器地址，通讯变量寄存器地址，如504-40001:10，504-40059")
    private String itemid;

    /** 设备地址（采集时的设备地址） */
    @Excel(name = "网关接口从站地址")
    private String itemdradd;

    /** 读写属性，1只读，2读写，3只写 */
    @Excel(name = "读写属性，1只读，2读写，3只写")
    private Long itemreadtype;
    private String drname;
    private String drnameEN;
    private String drnameCNEN;
    private String itemname;

    /** 系数（变量的系数） */
    @Excel(name = "系数，寄存器变量的系数")
    private String itemxs;

    /** 变量采集频率，保存间隔， 采集时间周期，转存历史间隔时间（5，10，30，60分钟存储） */
    @Excel(name = "变量采集频率，5，10，30，60分钟存储")
    private String savetime;

    /** 采集数据的时间 */
    @Excel(name = "采集数据的时间")
    private String backtime;

    @Excel(name = "更新数据的时间")
    private String updatetime;

    /** 单位 */
    @Excel(name = "单位")
    private String units;
    @Excel(name = "分组")
    private String groupName;

    /** 变量详细描述，点位说明 */
    @Excel(name = "变量详细描述，点位说明")
    private String tagdesc;

    /** 点位类型，变量数据来源 设备还是公式。或变量类型： 1表示采集变量，值由驱动从设备或者第三方接口产生；2表示内存变量，由采集变量根据计算公式得到。 */
    @Excel(name = "点位类型或变量类型，变量数据的来源是设备还是公式。如：1表示采集变量，值由驱动从设备或者第三方接口产生；2表示变量的值根据计算公式得到。")
    private Long tagvartype;

    /** 变量初始值，点位初始值 */
    @Excel(name = "变量初始值")
    private String inivalue;

    /** 报警备注 */
    @Excel(name = "报警备注")
    private String alarmnote;

    /** 是否报警：0表示不报警；1表示报警 */
    @Excel(name = "是否报警：0表示不报警；1表示报警")
    private Long alarmtag;

    /** 禁止报警：0否；1是； */
    @Excel(name = "禁止报警：0否；1是；")
    private Long alarmforbid;

    /** 报警分组 */
    @Excel(name = "报警分组")
    private String alarmgroup;

    /** 报警分类 */
    @Excel(name = "报警分类")
    private Long alarmtype;

    /** 报警等级，0不是报警，1一般报警；2.严重报警；3.紧急报警； */
    @Excel(name = "布尔变量的报警等级，0不是报警，1一般报警；2.严重报警；3.紧急报警；")
    private Long alarmlevel;

    @Excel(name = "布尔变量的报警等级名称")
    private String alarmtypeExpain;

    /** 报警延时 */
    @Excel(name = "报警延时")
    private Long alarmdelay;

    /** 报警条件 */
    @Excel(name = "报警条件")
    private String alacondition;

    /** 高高限值 */
    @Excel(name = "高高限值")
    private String hhValue;

    /** 高高限值对应的报警等级，alarmtype表的ID */
    @Excel(name = "高高限报警等级值")
    private Long hhAlarmLevel;
    @Excel(name = "高高限报警等级名称")
    private String hhAlarmTypeExplain;

    /** 高限值 */
    @Excel(name = "高限值")
    private String hvalue;
	
	/** 高限值对应的报警等级，alarmtype表的ID */
    @Excel(name = "高限报警等级值")
    private Long halarmLevel;
    @Excel(name = "高限报警等级名称")
    private String halarmTypeExplain;

    /** 低限 */
    @Excel(name = "低限")
    private String lvalue;

/** 低限值对应的报警等级，alarmtype表的ID */
    @Excel(name = "低限报警等级值")
    private Long lalarmLevel;
    @Excel(name = "低限报警等级名称")
    private String lalarmTypeExplain;

    /** 低低限 */
    @Excel(name = "低低限")
    private String llValue;

    /** 低低限值对应的报警等级，alarmtype表的ID */
    @Excel(name = "低低限报警等级值")
    private Long llAlarmLevel;

    @Excel(name = "低低限报警等级名称")
    private String llAlarmTypeExplain;
    /** 计算公式 */
    @Excel(name = "计算公式")
    private String tagformula;

    /** 读写权限控制级别，0不可控（默认，权限为0的人对该点位可读不可写，权限为1和2的人也是对该点位可读不可写），1可控（权限为0的人对该点位可读不可写，为1的人对该点位可读可写，为2的人对该点位可读不可写），2部分可控（权限为0的人对该点位可读不可写，为1的人对该点位可读可写，为2的人对该点位可读可写） */
    @Excel(name = "项目权限控制级别，0不可控（默认），1可控，2部分可控")
    private Long control;

    /** 能量计量实时数据显示标识及分组，格式“设备编号_名称_点位编号”，如：ey1_车间中温冷冻_T2 */
    @Excel(name = "能量计量实时数据显示标识及分组，格式“设备编号_名称_点位编号”，如：ey1_车间中温冷冻_T2")
    private String meteringGroup;

    private String drtypename;
    private String drtypenameEN;
    private String drtypenameCNEN;

    private boolean byTagFormulaSearch;

    public void setTagid(Long tagid) 
    {
        this.tagid = tagid;
    }

    public Long getTagid() 
    {
        return tagid;
    }
    public void setTagname(String tagname) 
    {
        this.tagname = tagname;
    }

    public String getTagname() 
    {
        return tagname;
    }
    public void setTagnameCN(String tagnameCN) 
    {
        this.tagnameCN = tagnameCN;
    }

    public String getTagnameCN() 
    {
        return tagnameCN;
    }
    public void setTagnameEN(String tagnameEN) 
    {
        this.tagnameEN = tagnameEN;
    }

    public String getTagnameEN() 
    {
        return tagnameEN;
    }
    public void setDrTypeCode(String drTypeCode) 
    {
        this.drTypeCode = drTypeCode;
    }

    public String getDrTypeCode() 
    {
        return drTypeCode;
    }
    public void setTagvalue(String tagvalue) 
    {
        this.tagvalue = tagvalue;
    }

    public String getTagvalue() 
    {
        return tagvalue;
    }
    public void setValuetype(Long valuetype) 
    {
        this.valuetype = valuetype;
    }

    public Long getValuetype() 
    {
        return valuetype;
    }

    public Long getBoolType() {
        return boolType;
    }

    public void setBoolType(Long boolType) {
        this.boolType = boolType;
    }

    public void setItemdrid(Long itemdrid) 
    {
        this.itemdrid = itemdrid;
    }

    public Long getItemdrid() 
    {
        return itemdrid;
    }

    public String getItemDrIdName() {
        return itemDrIdName;
    }

    public void setItemDrIdName(String itemDrIdName) {
        this.itemDrIdName = itemDrIdName;
    }

    public void setItemtype(String itemtype) 
    {
        this.itemtype = itemtype;
    }

    public String getItemtype() 
    {
        return itemtype;
    }
    public void setItemid(String itemid) 
    {
        this.itemid = itemid;
    }

    public String getItemid() 
    {
        return itemid;
    }
    public void setItemdradd(String itemdradd) 
    {
        this.itemdradd = itemdradd;
    }

    public String getItemdradd() 
    {
        return itemdradd;
    }
    public void setItemreadtype(Long itemreadtype) 
    {
        this.itemreadtype = itemreadtype;
    }

    public Long getItemreadtype() 
    {
        return itemreadtype;
    }
    public void setItemxs(String itemxs) 
    {
        this.itemxs = itemxs;
    }

    public String getItemxs() 
    {
        return itemxs;
    }
    public void setSavetime(String savetime) 
    {
        this.savetime = savetime;
    }

    public String getSavetime() 
    {
        return savetime;
    }
    public void setBacktime(String backtime) 
    {
        this.backtime = backtime;
    }

    public String getBacktime() 
    {
        return backtime;
    }

    public String getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(String updatetime) {
        this.updatetime = updatetime;
    }

    public void setUnits(String units) 
    {
        this.units = units;
    }

    public String getUnits() 
    {
        return units;
    }
    public void setTagdesc(String tagdesc) 
    {
        this.tagdesc = tagdesc;
    }

    public String getTagdesc() 
    {
        return tagdesc;
    }
    public void setTagvartype(Long tagvartype) 
    {
        this.tagvartype = tagvartype;
    }

    public Long getTagvartype() 
    {
        return tagvartype;
    }
    public void setInivalue(String inivalue) 
    {
        this.inivalue = inivalue;
    }

    public String getInivalue() 
    {
        return inivalue;
    }
    public void setAlarmnote(String alarmnote) 
    {
        this.alarmnote = alarmnote;
    }

    public String getAlarmnote() 
    {
        return alarmnote;
    }
    public void setAlarmtag(Long alarmtag) 
    {
        this.alarmtag = alarmtag;
    }

    public Long getAlarmtag() 
    {
        return alarmtag;
    }
    public void setAlarmforbid(Long alarmforbid) 
    {
        this.alarmforbid = alarmforbid;
    }

    public Long getAlarmforbid() 
    {
        return alarmforbid;
    }
    public void setAlarmgroup(String alarmgroup) 
    {
        this.alarmgroup = alarmgroup;
    }

    public String getAlarmgroup() 
    {
        return alarmgroup;
    }
    public void setAlarmtype(Long alarmtype) 
    {
        this.alarmtype = alarmtype;
    }

    public Long getAlarmtype() 
    {
        return alarmtype;
    }
    public void setAlarmlevel(Long alarmlevel) 
    {
        this.alarmlevel = alarmlevel;
    }

    public Long getAlarmlevel() 
    {
        return alarmlevel;
    }

    public String getAlarmtypeExpain() {
        return alarmtypeExpain;
    }

    public void setAlarmtypeExpain(String alarmtypeExpain) {
        this.alarmtypeExpain = alarmtypeExpain;
    }

    public void setAlarmdelay(Long alarmdelay) 
    {
        this.alarmdelay = alarmdelay;
    }

    public Long getAlarmdelay() 
    {
        return alarmdelay;
    }
    public void setAlacondition(String alacondition) 
    {
        this.alacondition = alacondition;
    }

    public String getAlacondition() 
    {
        return alacondition;
    }
    public void setHvalue(String hvalue)
    {
        this.hvalue = hvalue;
    }

    public String getHvalue()
    {
        return hvalue;
    }
    public void setHalarmLevel(Long halarmLevel)
    {
        this.halarmLevel = halarmLevel;
    }

    public Long getHalarmLevel()
    {
        return halarmLevel;
    }
    public void setHhValue(String hhValue) 
    {
        this.hhValue = hhValue;
    }

    public String getHhValue() 
    {
        return hhValue;
    }
	
	public void setHhAlarmLevel(Long hhAlarmLevel)
    {
        this.hhAlarmLevel = hhAlarmLevel;
    }

    public Long getHhAlarmLevel()
    {
        return hhAlarmLevel;
    }
	
    public void setLvalue(String lvalue)
    {
        this.lvalue = lvalue;
    }

    public String getLvalue()
    {
        return lvalue;
    }
    public void setLalarmLevel(Long lalarmLevel)
    {
        this.lalarmLevel = lalarmLevel;
    }

    public Long getLalarmLevel()
    {
        return lalarmLevel;
    }
    public void setLlValue(String llValue) 
    {
        this.llValue = llValue;
    }

    public String getLlValue() 
    {
        return llValue;
    }
    public void setLlAlarmLevel(Long llAlarmLevel) 
    {
        this.llAlarmLevel = llAlarmLevel;
    }

    public Long getLlAlarmLevel() 
    {
        return llAlarmLevel;
    }
    public void setTagformula(String tagformula) 
    {
        this.tagformula = tagformula;
    }

    public String getTagformula() 
    {
        return tagformula;
    }
    public void setControl(Long control) 
    {
        this.control = control;
    }

    public Long getControl() 
    {
        return control;
    }
    public void setMeteringGroup(String meteringGroup) 
    {
        this.meteringGroup = meteringGroup;
    }

    public String getMeteringGroup() 
    {
        return meteringGroup;
    }

    public String getHhAlarmTypeExplain() {
        return hhAlarmTypeExplain;
    }

    public void setHhAlarmTypeExplain(String hhAlarmTypeExplain) {
        this.hhAlarmTypeExplain = hhAlarmTypeExplain;
    }

    public String getHalarmTypeExplain() {
        return halarmTypeExplain;
    }

    public void setHalarmTypeExplain(String halarmTypeExplain) {
        this.halarmTypeExplain = halarmTypeExplain;
    }

    public String getLalarmTypeExplain() {
        return lalarmTypeExplain;
    }

    public void setLalarmTypeExplain(String lalarmTypeExplain) {
        this.lalarmTypeExplain = lalarmTypeExplain;
    }

    public String getLlAlarmTypeExplain() {
        return llAlarmTypeExplain;
    }

    public void setLlAlarmTypeExplain(String llAlarmTypeExplain) {
        this.llAlarmTypeExplain = llAlarmTypeExplain;
    }

    public boolean isByTagFormulaSearch() {
        return byTagFormulaSearch;
    }

    public void setByTagFormulaSearch(boolean byTagFormulaSearch) {
        this.byTagFormulaSearch = byTagFormulaSearch;
    }

    public String getTagnameCNEN() {
        return tagnameCNEN;
    }

    public void setTagnameCNEN(String tagnameCNEN) {
        this.tagnameCNEN = tagnameCNEN;
    }

    public String getDrname() {
        return drname;
    }

    public void setDrname(String drname) {
        this.drname = drname;
    }

    public String getDrnameEN() {
        return drnameEN;
    }

    public void setDrnameEN(String drnameEN) {
        this.drnameEN = drnameEN;
    }

    public String getDrnameCNEN() {
        return drnameCNEN;
    }

    public void setDrnameCNEN(String drnameCNEN) {
        this.drnameCNEN = drnameCNEN;
    }

    public String getItemname() {
        return itemname;
    }

    public void setItemname(String itemname) {
        this.itemname = itemname;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getDrtypename() {
        return drtypename;
    }

    public void setDrtypename(String drtypename) {
        this.drtypename = drtypename;
    }

    public String getDrtypenameEN() {
        return drtypenameEN;
    }

    public void setDrtypenameEN(String drtypenameEN) {
        this.drtypenameEN = drtypenameEN;
    }

    public String getDrtypenameCNEN() {
        return drtypenameCNEN;
    }

    public void setDrtypenameCNEN(String drtypenameCNEN) {
        this.drtypenameCNEN = drtypenameCNEN;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("tagid", getTagid())
            .append("tagname", getTagname())
            .append("tagnameCN", getTagnameCN())
            .append("tagnameEN", getTagnameEN())
            .append("drTypeCode", getDrTypeCode())
            .append("tagvalue", getTagvalue())
            .append("valuetype", getValuetype())
            .append("itemdrid", getItemdrid())
            .append("itemtype", getItemtype())
            .append("itemid", getItemid())
            .append("itemdradd", getItemdradd())
            .append("itemreadtype", getItemreadtype())
            .append("itemxs", getItemxs())
            .append("savetime", getSavetime())
            .append("backtime", getBacktime())
            .append("updatetime", getUpdatetime())
            .append("units", getUnits())
            .append("tagdesc", getTagdesc())
            .append("tagvartype", getTagvartype())
            .append("inivalue", getInivalue())
            .append("alarmnote", getAlarmnote())
            .append("alarmtag", getAlarmtag())
            .append("alarmforbid", getAlarmforbid())
            .append("alarmgroup", getAlarmgroup())
            .append("alarmtype", getAlarmtype())
            .append("alarmlevel", getAlarmlevel())
            .append("alarmdelay", getAlarmdelay())
            .append("alacondition", getAlacondition())
            .append("hhValue", getHhValue())
            .append("hhAlarmLevel", getHhAlarmLevel())
            .append("hvalue", getHvalue())
            .append("halarmLevel", getHalarmLevel())
            .append("lvalue", getLvalue())
            .append("lalarmLevel", getLalarmLevel())
            .append("llValue", getLlValue())
            .append("llAlarmLevel", getLlAlarmLevel())
            .append("tagformula", getTagformula())
            .append("control", getControl())
            .append("meteringGroup", getMeteringGroup())
            .toString();
    }
}
